home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #263 (1993)(Rhein-Sieg-Soft).zip / Franz PD Disk #263 (1993)(Rhein-Sieg-Soft).adf / VK_PRT_3 / VK_GFA.txt < prev    next >
Text File  |  1993-10-11  |  5KB  |  139 lines

  1.  
  2. Tips und Tricks für die Programme Variokartei.GFA
  3.  
  4.       VK_PRT.GFA V3.02a und VK_PAR.GFA V3.0b
  5. ------------------------------------------------
  6.  
  7. Ändern können Sie das Programm natürlich nur, wenn Sie den Interpreter
  8. GFABASIC besitzen.
  9. Sie haben 4000 Datensätze und möchten die letzten 20/30 Datensätze auch
  10. noch eingeben. Weisen Sie der Variablen n& einen höheren Wert zu. Die Va-
  11. riable n& finden Sie am Programmanfang unter Init:, Zeile 47.  Bei einer
  12. Fehlermeldung `out of memory' mÜssen Sie am Programmanfang mit RESERVE mehr
  13. Speicher anfordern. Der Speicherbedarf für das Indexfeld errechnet sich
  14. aus Stringlänge mal Anzahl Datensätze plus Verwaltungsbytes.  Dazu kommt
  15. noch Speicherbedarf für den Programmtext plus der restlichen Variablen.
  16.  
  17.    Die maximale Länge eines Feldes ist 62 Zeichen. Also fangen wir an:
  18.  
  19.    Indexfeld Strings      4000 * 62 Bytes = 248000 Bytes
  20.  
  21.    Verwaltungsbytes (zwischen 5 und 10 Bytes pro String?  Nehmen wir 5
  22.    Bytes je String        4000 *  5 Bytes =  20000 Bytes
  23.  
  24.    Feld für die Satznr.   4000 *  5 Bytes =  20000 Bytes (über Pi * Daumen)
  25.    Für die restlichen Variablen              10000 Bytes (über Pi * Daumen)
  26.    -----------------------------------------------------
  27.    Macht zusammen                           298000 Bytes
  28.    =====================================================
  29.  
  30.    Wenn bei 4000 Datensätzen ein Feld mit 62 Zeichen als Indexfeld
  31.    bestimmt wird, kann man den Speicherbedarf mit rund 300000 Bytes
  32.    veranschlagen.
  33.    Angefordert im Programm werden 350*1024 Bytes, das sind 358400 Bytes.
  34.    Es bleiben 50256 Bytes frei.
  35.    Wenn Sie nur ein Indexfeld bestimmen, das mit 30 Zeichen/Bytes nur
  36.    halb so groß ist, können Sie die Anzahl der Datensätze locker auf
  37.    8000 erhöhen. Ohne mehr Speicher anzufordern.
  38.  
  39. Und es geht doch. Wer den Interpreter GFABASIC nicht hat, kann mit einem
  40. Dateimonitor die Änderungen am Programmtext vornehmen. Ich verwende den
  41. NewZap V3.18 von der Fish-Disk 164. Auf der Franz 004 ist auch einer.
  42.   Starten Sie den Monitor, geben Sie oben den Pfad mit dem Namen der
  43. GFABASIC-Datei ein. Zum Beispiel:
  44.  
  45. df1:vk_prt_3/vk_prt.gfa
  46.  
  47.  
  48. MEHR SPEICHER
  49. =============
  50.  
  51. Für mehr Speicher gehen Sie nach Sektor 7.
  52.  
  53. VK_PRT.GFA - Cursor pos 06A und 06B - der ASCII-Cursor steht unter
  54.              Ä und n von Änderung. Ab 06A steht der Wert, der mit
  55.              1024 multipliziert den Gesamtspeicher ergibt. Dort
  56.              steht der Wert 015E in Hex, 350 Dezimal.
  57.  
  58. VK_PAR.GFA - Cursor pos 096 und 097 - der ASCII-Cursor steht unter
  59.              Ä und n von Änderung.
  60.  
  61. Klicken Sie auf den Schalter "GOTO" und geben Sie als Sektor 7 ein.
  62. Klicken Sie mit dem Mauszeiger in das linke Fenster für Hex-Edit. Mit den
  63. Cursor-Tasten verschieben Sie Sie den Cursor, bis zur Cursor pos siehe
  64. oben, der ASCII-Cursor steht unter dem Ä von Änderung.
  65.  
  66. Ändern Sie nun die Werte, indem Sie neue Hex-Werte eintippen, zum Beispiel:
  67.  
  68.  Hex     Dez
  69.  -----------
  70.  $015E   #350  (350 * 1024 Bytes = 358400 Bytes )
  71.  $0177   #375
  72.  $0190   #400
  73.  $01C2   #450
  74.  
  75. Klicken Sie auf "SAVE", um den geänderten Sektor auf Disk/Platte
  76. zu schreiben.
  77.  
  78. MEHR DATENSÄTZE
  79. ===============
  80.  
  81. Für mehr Datensätze gehen Sie nach Sektor 8.
  82.  
  83. VK_PRT.GFA - Cursor pos 1C2 und 1C3 - der ASCII-Cursor steht unter dem
  84.              l und 20 von MaxAnzahl Zeichen. Ab 12C steht der Wert für
  85.              die Anzahl der Datensätze. Dort steht der Wert 0FA0 in Hex,
  86.              4000 Dezimal.
  87.  
  88. VK_PAR.GFA - Cursor pos 1BA und 1BB - der ASCII-Cursor steht unter dem
  89.              l und 20 von MaxAnzahl Zeichen.
  90.  
  91. Tippen Sie nun die neuen Hex-Werte ein, zum Beispiel:
  92.  
  93.  Hex.    Dez.
  94.  ------------
  95.  $0FA0   #4000  Datensätze
  96.  $0FD2   #4050
  97.  $1194   #4500
  98.  $1388   #5000
  99.  $1770   #6000
  100.  $1B58   #7000
  101.  $1F40   #8000
  102.  
  103. Nach dem Ändern auf "SAVE" klicken. Sie sollten diese Manipulationen nur
  104. bei einer Kopie machen. Das ganze funktioniert nur mit dem Originalpro-
  105. gramm. Wenn das Programm geändert wurde und das PRG dadrch kürzer oder
  106. länger geworden ist, dann verschieben sich alle Adressen auf der Disk.
  107.  
  108. Sie können auch einen anderen Monitor verwenden, orientieren Sie sich
  109. am ASCII-Text. Mehr Speicher: der erste Hex-Wert unter dem Ä von
  110. Änderung, der zweite unter dem n. Mehr Datensätze: der erste Hex-Wert
  111. unter dem l von MaxAnzahl Zeichen, der zweite unter der 20.
  112.  
  113. Der Tip zum Tip: zuerst würde ich die Anzahl der Datensätze erhöhen,
  114. den Speicher ev. später.
  115.  
  116.  
  117. Etikett 70 x 70 und 89 x 36
  118. ===========================
  119.  
  120. Variokartei nimmt die Inhalte der ersten drei Felder fÜr den Etikettendruck.
  121. In der Feldvariablen a$(n) stehen die Daten von dem Datensatz, der auf dem
  122. Bildschirm angezeigt wird.
  123.  
  124. a$(0) 'druckt erste Zeile
  125. a$(1) 'druckt zweite Zeile
  126. a$(2) 'druckt dritte Zeile
  127.  
  128. Wenn Sie weitere Zeilen drucken möchten, zum Beispiel a$(3) und a$(4),
  129. müssen Sie in der Schleife den zweiten Wert um 2 verringern.
  130.  
  131. Die Zeile am Ende der PROCEDURE Etikett89x36
  132. FOR i|=1 TO 4 wird zu FOR i|=1 TO 2
  133.  
  134. Die Zeile am Ende der PROCEDURE Etikett70x70
  135. FOR i|=1 to 9 wird zu FOR i|=1 TO 7
  136.  
  137. Aug. 1993
  138. Lothar Berndt
  139.